package com.hex.ds.hdtp.core.inf.script.analyze.repository;

import com.hex.ds.hdtp.core.inf.common.page.Page;
import com.hex.ds.hdtp.core.inf.common.repository.IBasicRepository;
import com.hex.ds.hdtp.core.inf.script.analyze.po.ScriptAnalyzeListPo;

import java.util.List;

/**
 * @Package com.hex.ds.hdtp.core.inf.script.analyze.repository
 * @ClassName IScriptAnalyzeListRepository
 * @Description 脚本分析清单-数据服务接口
 * @Author gj.xu
 * @Date 2023/12/8 14:22
 * @Version v2.0
 **/
public interface IScriptAnalyzeListRepository extends IBasicRepository<ScriptAnalyzeListPo> {

    /**
     * 分页查询
     *
     * @param scriptAnalyzeListPo
     * @param page
     * @return
     */
    Page<ScriptAnalyzeListPo> queryListByPage(ScriptAnalyzeListPo scriptAnalyzeListPo, Page page);

    /**
     * 分页查询脚本分析的血缘
     *
     * @param scriptAnalyzeListPo
     * @param toPage
     * @return
     */
    Page<ScriptAnalyzeListPo> queryConsanguinityListByPage(ScriptAnalyzeListPo scriptAnalyzeListPo, Page toPage);

    /**
     * 根据指定的分析任务主键查询清单
     *
     * @param analyzeTaskPkId
     * @param status
     * @return
     */
    List<ScriptAnalyzeListPo> queryListByTaskId(String analyzeTaskPkId, String status);

    /**
     * 根据分析任务主键删除
     *
     * @param convertTaskPkId
     * @return
     */
    Integer removeByTaskId(String convertTaskPkId);

    /**
     * 更新状态
     *
     * @param pkId
     * @param status
     * @param log
     * @return
     */
    Integer modifyStatus(String pkId, String status, String log);

    /**
     * 更新开始时间
     *
     * @param pkId
     * @return
     */
    Integer modifyStartTsById(String pkId);

    /**
     * 更新结束时间
     *
     * @param pkId
     * @return
     */
    Integer modifyEndTsById(String pkId);
}
